At large enough scales, no one person will be able to know what (or even where) everything is any more. Employees start to have specialized roles. Each only cares about a small part of what's in the entire data center, etc. So, I find having a robust search strategy of the utmost importance. Below are some ideas for how to expand / improve search.
Continue to refine the concept of saved searches, what types of ownership (user/role/global) we want, policies for sharing saved searches, etc - this will allow faster navigation once the customer uses the application for a while and starts to amass a good number of saved searches that will allow him to successfully carry out his administrative functions.
Continue to refine how results are displayed as well as flesh out a generic way of annotating results with additional data based on the search expression entered, i.e. "alert[time]='last 4 hours' and alert[severity]=high" would add a new column to the resource results that display the count of high-severity alerts for the last 4 hours for each result record.
Beyond basic search execution, there needs to be a link between the core search functionality and the concept of groups. SearchGroups are thus the merger of (Dyna)Search with DynaGroups.
A SearchGroup is a new type of group that allows you to define it using a search expression instead of a hard-coded membership. In other words, you no longer need to create a group definition, which then creates a single dynagroup for you; you would add the search expression to the SearchGroup itself, and that SearchGroup's membership will be directly (dynamically) maintained.
SearchGroups, however, will still allow the "groupBy" terms. If there are any of these terms in the SearchGroup, then the SearchGroup will create children SearchGroups, each of which have their own set of searchTerms (each child SearchGroup gets its search expression calculated by using one of the unique permutations of all specified "groupBy" elements in the parent's SearchGroup).
Once we have SearchGroups, we can add the ability to turn a search into a SearchGroup on-the-fly. This will allow users to browse via search, and then once they find something they like they can create a group out of it to easily performance group-wise things such as operations, configuration, etc.
Along similar lines, I'd like to propose that we have an easier way for working with search results. Perhaps I go to the inventory browser, perform a search, and want to uninventory all resources I find. We should come up with a generic strategy that allows the entire result set (not just the page being viewed) to have some action performed against it. This might be achievable via temporary/short-lived SearchGroups or even by directly iterating over the results and apply the action to each in turn.